package com.jmp.api.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import one.stand.dto.PageResponse2;

@Data
@Builder
public class LiveListResponse {
    @ApiModelProperty(value = "直播间列表", dataType = "LiveListResponse.Live")
    private PageResponse2<Live> livePage;
    @ApiModelProperty("直播状态: -1无企业（跳转店铺注册页） 0无权限（跳转我的直播无权限页） 1创建直播 2开播")
    private Integer status;
    @ApiModelProperty("短视频状态: 0无权限（不显示短视频发布） 1有权限")
    private Integer videoStatus;

    @ApiModel("LiveListResponse.Live")
    @Data
    @Builder
    public static class Live {
        @ApiModelProperty("直播ID")
        private Integer roomId;
        @ApiModelProperty("类型：0直播 1短视频")
        private Integer videoType;
        @ApiModelProperty("直播图片")
        private String photo;
        @ApiModelProperty("标题")
        private String title;
        @ApiModelProperty("状态图片:直播中 预告 回放")
        private String status;

        @ApiModelProperty("观看人数")
        private String viewNum;
        @ApiModelProperty("点赞数")
        private Integer collectNum;
        @ApiModelProperty("直播用户头像")
        private String userImg;
        @ApiModelProperty("直播用户名称")
        private String userName;

        @ApiModelProperty(value = "视频信息", dataType = "LiveListResponse.Video")
        private Video video;
    }

    @ApiModel("LiveListResponse.Video")
    @Data
    @Builder
    public static class Video {
        @ApiModelProperty("视频ID")
        private Integer roomId;
        @ApiModelProperty("直播名称")
        private String name;
        @ApiModelProperty("封面")
        private String photo;
        @ApiModelProperty("视频地址")
        private String videoUrl;

        @ApiModelProperty("是否已关注用户:0无 1已关注")
        private Integer userCollectFlag;
        @ApiModelProperty("用户当前直播ID")
        private Integer userCurrentRoomId;
        @ApiModelProperty("用户ID")
        private Integer userId;
        @ApiModelProperty("名片ID")
        private Integer cardId;
        @ApiModelProperty("名片头像")
        private String cardImg;
        @ApiModelProperty("名片名称")
        private String cardName;

        @ApiModelProperty("观看数")
        private Long viewNum;
        @ApiModelProperty("点赞数")
        private Integer collectNum;
        @ApiModelProperty("是否已点赞：1已点赞")
        private Integer collectFlag;
        @ApiModelProperty("评论数")
        private Integer commentNum;
    }
}
